Many network architectures use virtual machines (VMs) and physical machines (e.g., a laptop computer, a desktop computer, a tablet computer, a network, a computer system, a computing device, etc.) to perform various functions and tasks. A virtual machine (VM) is a software implementation of a machine (computer) that includes its own operating system (referred to as a guest operating system) and executes application programs. A host computer allocates a certain amount of its resources to each of the virtual machines, and multiplexes its underlying hardware platform among the virtual machines. Each virtual machine may be able to use the allocated resources to execute its guest operating system and applications. The software layer providing the virtualization is commonly referred to as a hypervisor and is also known as a virtual machine monitor (VMM), a kernel-based hypervisor, or part of a host operating system. The hypervisor emulates the underlying hardware of the host computer, making the use of the virtual machine transparent to the guest operating system and the user of the computer. A host controller (e.g., a server) may manage (e.g., create/remove virtual machines, shut down virtual machines), monitor (e.g., monitor system resources used by hosts and/or virtual machines), configure (e.g., change hardware, software and/or guest operating systems on virtual machines), and/or control the virtual machines.
The VMs and/or the physical machines may use multiple drives (e.g., hard disk drives, flash drives, disc drives, mass storage devices, etc.) located on one or more computing devices (e.g., server computers), to store and/or access data, applications, files, etc. The VMs and/or the physical machines may use logical volume managers (LVMs) to manage, allocate, and use the multiple drives. An LVM may allow multiple drives to be partitioned, allocated, and/or organized according to a logical organization or structure. This may allow the LVM to create logical volumes (e.g., a virtual disk partition) according to the preferences or requirements of users (e.g., administrators and/or other people using the VMs and physical machines). The LVM may use metadata on the drives to store the configuration details of the logical volume groups. The metadata may also include permissions (e.g., read and/or write permissions) for storage locations (e.g., a logical volume, a logical volume group, a file, a directory/folder, a set of data blocks). For example, the metadata may indicate that a logical volume should be read only (e.g., data cannot be written to the logical volume).